// Pipit C标准库 - OS模块实现
#include "pipit_stdlib.h"
#include <sys/stat.h>
#include <time.h>


// 执行系统命令
int pipit_os_system(const char* command) {
    return system(command);
}

// 获取当前工作目录
char* pipit_os_getcwd(char* buffer, size_t size) {
#ifdef _WIN32
    return _getcwd(buffer, (int)size);
#else
    return getcwd(buffer, size);
#endif
}

// 改变当前工作目录
int pipit_os_chdir(const char* path) {
    return chdir(path);
}

// 创建目录
int pipit_os_mkdir(const char* path) {
#ifdef _WIN32
    return _mkdir(path);
#else
    return mkdir(path, 0777);
#endif
}

// 删除文件
int pipit_os_remove(const char* path) {
    return remove(path);
}

// 获取文件状态
int pipit_os_stat(const char* path, struct stat* buf) {
    return stat(path, buf);
}

// 获取文件大小
long pipit_os_filesize(const char* path) {
    struct stat st;
    if (stat(path, &st) == 0) {
        return st.st_size;
    }
    return -1;
}

// 获取当前时间戳
long pipit_os_timestamp() {
    return (long)time(NULL);
}